import java.util.Date;

public class A1_4 {
    public static class AliPay extends Payment
    {
       private Integer number;
       public Payment thePayment;

       /**
       @roseuid 672758250244
        */
       public AliPay()
       {

       }
    }

    public static class Cash extends Payment
    {
       private Double cashTendered;
       public Payment thePayment;

       /**
       @roseuid 67275825030B
        */
       public Cash()
       {

       }
    }

    public static class Credit extends Payment
    {
       private Integer number;
       private String type;
       private Date expireDate;
       public Payment thePayment;

       /**
       @roseuid 6727582501DD
        */
       public Credit()
       {

       }
    }

    public static class Customer
    {
       private String name;
       private Integer contact;
       private String deliveryAddress;
       private Boolean active;
       public Order theOrder[];

       /**
       @roseuid 6727582500E9
        */
       public Customer()
       {

       }
    }

    public static class Order
    {
       private Date createDate;
       private String status;
       public Payment thePayment[];
       public OrderDetail theOrderDetail;
       public Product theProduct[];

       /**
       @roseuid 672758B203DB
        */
       public Order()
       {

       }
    }

    public static class OrderDetail
    {
       private Integer quantity;
       public Order theOrder;

       /**
       @roseuid 672758250081
        */
       public OrderDetail()
       {

       }

       /**
       @return Double
       @roseuid 672746FB02C9
        */
       public Double calculateSubTotal()
       {
        return null;
       }

       /**
       @return Double
       @roseuid 672747290279
        */
       public Double calculateWeight()
       {
        return null;
       }
    }

    public static class Payment
    {
       private Double amount;
       public Order theOrder;
       public WeixinPay theWeixinPay;
       public Credit theCredit;
       public AliPay theAliPay;
       public WireTransfer theWireTransfer;
       public Cash theCash;

       /**
       @roseuid 672758B20317
        */
       public Payment()
       {

       }
    }

    public static class Product
    {
       private String title;
       private Double weight;
       private String description;

       /**
       @roseuid 672758B30064
        */
       public Product()
       {

       }

       /**
       @return Double
       @roseuid 6727477B02EF
        */
       public Double getPriceForQuantity()
       {
        return null;
       }

       /**
       @return Double
       @roseuid 67274784035E
        */
       public Double getWeight()
       {
        return null;
       }
    }

    public static class WeixinPay extends Payment
    {
       private Integer number;
       public Payment thePayment;

       /**
       @roseuid 672758250149
        */
       public WeixinPay()
       {

       }
    }

    public static class WireTransfer extends Payment
    {
       private Integer bankID;
       private String bankName;
       public Payment thePayment;

       /**
       @roseuid 6727582502A3
        */
       public WireTransfer()
       {

       }
    }
}
